#include<bits/stdc++.h>
using namespace std;
#define int long long
#define lowbit(x) ((x)&(-(x)))
const int N=2e5+3,M=1e6+3;
int T,n,a[N],f[N][2][2],g[M][2][2],pre_max[N][2][2],sum[N],ans,mx;
signed main(){
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    cin>>T;
    while(T--){
        cin>>n;
        for(int i=1;i<=n;++i){
            cin>>a[i];
            mx=max(mx,a[i]);
        }
        for(int i=1;i<=mx;++i){
            for(int j=0;j<2;++j){
                for(int k=0;k<2;++k){
                    g[i][j][k]=0;
                }
            }
        }
        for(int j=0;j<2;++j){
            for(int k=0;k<2;++k){
                pre_max[1][j][k]=0;
            }
        }
        sum[0]=0,sum[1]=0;
        for(int i=2;i<=n;++i){
            sum[i]=sum[i-1]+(a[i]==a[i-1]?a[i]:0);
        }
        /*f[1][1]=0,f[1][0]=0;
        g[1][1]=0,g[1][0]=0;
        for(int i=2;i<=n;++i){
            f[i][1]=g[i-1][1]+sum[i];
            f[i][0]=g[i-1][0]+sum[i];
            g[i][1]=max(g[i-1][1],f[i][1]-sum[i]);
            g[i][0]=max(g[i-1][0],f[i][0]-sum[i]);
        }
        ans=max(f[n][1],f[n][0]);*/
        for(int i=2;i<=n;++i){
            if(i==2){
                f[i][1][0]=f[i][0][1]=0;
                f[i][0][0]=f[i][1][1]=sum[2]-sum[1];
            }
            else{
                f[i][1][0]=sum[i-1]+max(pre_max[i-1][0][1],g[a[i]][0][1]);
                f[i][0][1]=sum[i-1]+max(pre_max[i-1][1][0],g[a[i]][1][0]);
                f[i][0][0]=max(f[i-1][1][0],f[i-1][0][0])+sum[i]-sum[i-1];
                f[i][1][1]=max(f[i-1][0][1],f[i-1][1][1])+sum[i]-sum[i-1];
            }
            //printf("T=%d,i=%d,g[%d]:(1,0)->%d,(0,1)->%d;\n",T,i,a[i],g[a[i]][1][0],g[a[i]][0][1]);
            pre_max[i][1][0]=max(pre_max[i-1][1][0],f[i][1][0]-sum[i]);
            pre_max[i][0][1]=max(pre_max[i-1][0][1],f[i][0][1]-sum[i]);
            g[a[i-1]][1][0]=max(g[a[i-1]][1][0],f[i][1][0]-sum[i]+a[i-1]);
            g[a[i-1]][0][1]=max(g[a[i-1]][0][1],f[i][0][1]-sum[i]+a[i-1]);
        }
        ans=0;
        for(int j=0;j<2;++j){
            for(int k=0;k<2;++k){
                ans=max(ans,f[n][j][k]);
            }
        }
        cout<<ans<<'\n';
    }
    return 0;
}
//Never Forget freopen("xx.in","r",stdin); !!!!!!
//Be attetion to the data range and Long Long !!!
//Force Solution must be started in 30 minutes!!!
